//#include "RecordCollection.h"
//
//RecordCollection::RecordCollection(Config* config_) :
//    config(config_)
//{
//    config->recordCollection = this;
//
//    for(int i = 0; i < config->record_param.size(); i++)
//    {
//        if (config->debugLevel > 1) log_info<<"RecordCollection: "<<i;
//        RecordParameter record_param = config->record_param[i];
//        if(record_param.recordType == "particleMacroNumber")
//        {
//            recordList.push_back(new RecordParticleMacroNumber(config_, record_param));
//        }
//        else if(record_param.recordType == "particlePhysicalNumber")
//        {
//            recordList.push_back(new RecordParticlePhysicalNumber(config_, record_param));
//        }
//        else if (record_param.recordType == "fieldAtMonitorPoint")
//        {
//            recordList.push_back(new RecordFieldAtMonitorPoint(config_, record_param));
//        }
//        else if (record_param.recordType == "boundaryCurrent")
//        {
//            recordList.push_back(new RecordBoundaryCurrent(config_, record_param));
//        }
//        else if (record_param.recordType == "electricPropulsion")
//        {
//            recordList.push_back(new RecordThruster(config_, record_param));
//        }
//        else if (record_param.recordType == "boundaryElectricPotential")
//        {
//            recordList.push_back(new RecordBoundaryElectricPotential(config_, record_param));
//        }
//        else
//        {
//            log_fatal<<"Recordcollection: no such record "<<record_param.recordType;
//            exit(0);
//        }
//    }
//
//    simulationTime.resize(config->sim_time->timestep_io);
//    iTimeStepRecord = 0;
//
//};
//
//void RecordCollection::run()
//{
//    if (config->electromagneticFieldType == "electromagnetic")
//    {
//        return;
//    }
//
//    for (int i = 0; i < recordList.size(); i++)
//    {
//        //if (config->debugLevel > 1) log_warning << "iRecord: " << i;
//        recordList[i]->cal();
//    }
//
//    simulationTime[iTimeStepRecord] = config->sim_time->timeNow;
//    iTimeStepRecord++;
//    
//};